{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# How to create branches for parallel node execution\n",
    "\n",
    "LangGraph4j lets you run nodes in parallel to speed up your total graph execution.\n",
    "\n",
    "‼️ Currently there are some overall **limitations** on parallel node implementation execution:\n",
    "\n",
    " \n",
    "* Only the **Fork-Join** model is supported\n",
    "    \n",
    "```\n",
    "          ┌─┐\n",
    "          │A│      \n",
    "          └─┘       \n",
    "           |        \n",
    "     ┌-----------┐  \n",
    "     |     |     |  \n",
    "   ┌──┐  ┌──┐  ┌──┐ \n",
    "   │A1│  │A2│  │A3│ \n",
    "   └──┘  └──┘  └──┘ \n",
    "     |     |     |  \n",
    "     └-----------┘  \n",
    "           |        \n",
    "          ┌─┐       \n",
    "          │B│       \n",
    "          └─┘       \n",
    "```\n",
    "* Only **one paraller step** is allowed \n",
    "```\n",
    "          ┌─┐\n",
    "          │A│      \n",
    "          └─┘       \n",
    "           |        \n",
    "     ┌-----------┐  \n",
    "     |     |     |  \n",
    "   ┌──┐  ┌──┐  ┌──┐ \n",
    "   │A1│  │A2│  │A3│ \n",
    "   └──┘  └──┘  └──┘ \n",
    "     |     |     |  \n",
    "   ┌──┐    |     |    \n",
    "   │A4│ ❌ Not Allowed  \n",
    "   └──┘    |     |   \n",
    "     |     |     |  \n",
    "     └-----------┘  \n",
    "           |        \n",
    "          ┌─┐       \n",
    "          │B│       \n",
    "          └─┘       \n",
    "```\n",
    "\n",
    "* No **Conditional Edges** are allowed\n",
    "  \n",
    "Below are some examples showing how to add create branching dataflows.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "var userHomeDir = System.getProperty(\"user.home\");\n",
    "var localRespoUrl = \"file://\" + userHomeDir + \"/.m2/repository/\";\n",
    "var langchain4jVersion = \"1.0.1\";\n",
    "var langchain4jbeta = \"1.0.1-beta6\";\n",
    "var langgraph4jVersion = \"1.6-SNAPSHOT\";"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "%%bash \n",
    "rm -rf \\{userHomeDir}/Library/Jupyter/kernels/rapaio-jupyter-kernel/mima_cache/org/bsc/langgraph4j"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "%dependency /add-repo local \\{localRespoUrl} release|never snapshot|always\n",
    "// %dependency /list-repos\n",
    "%dependency /add org.slf4j:slf4j-jdk14:2.0.9\n",
    "%dependency /add org.bsc.langgraph4j:langgraph4j-core:\\{langgraph4jVersion}\n",
    "%dependency /add org.bsc.langgraph4j:langgraph4j-langchain4j:\\{langgraph4jVersion}\n",
    "%dependency /add dev.langchain4j:langchain4j:\\{langchain4jVersion}\n",
    "%dependency /add dev.langchain4j:langchain4j-open-ai:\\{langchain4jVersion}\n",
    "%dependency /add net.sourceforge.plantuml:plantuml-mit:1.2024.8\n",
    "\n",
    "%dependency /resolve"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "try( var file = new java.io.FileInputStream(\"./logging.properties\")) {\n",
    "    java.util.logging.LogManager.getLogManager().readConfiguration( file );\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "import net.sourceforge.plantuml.SourceStringReader;\n",
    "import net.sourceforge.plantuml.FileFormatOption;\n",
    "import net.sourceforge.plantuml.FileFormat;\n",
    "\n",
    "java.awt.Image plantUML2PNG( String code ) throws IOException { \n",
    "    var reader = new SourceStringReader(code);\n",
    "\n",
    "    try(var imageOutStream = new java.io.ByteArrayOutputStream()) {\n",
    "\n",
    "        var description = reader.outputImage( imageOutStream, 0, new FileFormatOption(FileFormat.PNG));\n",
    "\n",
    "        var imageInStream = new java.io.ByteArrayInputStream(  imageOutStream.toByteArray() );\n",
    "\n",
    "        return javax.imageio.ImageIO.read( imageInStream );\n",
    "\n",
    "    }\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Define Graph with parallel branch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "import org.bsc.langgraph4j.prebuilt.MessagesStateGraph;\n",
    "import org.bsc.langgraph4j.prebuilt.MessagesState;\n",
    "import org.bsc.langgraph4j.action.AsyncNodeAction;\n",
    "import static org.bsc.langgraph4j.action.AsyncNodeAction.node_async;\n",
    "import static org.bsc.langgraph4j.StateGraph.END;\n",
    "import static org.bsc.langgraph4j.StateGraph.START;\n",
    "\n",
    "AsyncNodeAction<MessagesState<String>> makeNode( String message ) {\n",
    "    return node_async(state -> Map.of( \"messages\", message ) );\n",
    "}\n",
    "\n",
    "var workflow = new MessagesStateGraph<String>()\n",
    "                .addNode(\"A\", makeNode(\"A\"))\n",
    "                .addNode(\"A1\", makeNode(\"A1\"))\n",
    "                .addNode(\"A2\", makeNode(\"A2\"))\n",
    "                .addNode(\"A3\", makeNode(\"A3\"))\n",
    "                .addNode(\"B\", makeNode(\"B\"))\n",
    "                .addNode(\"C\", makeNode(\"C\"))\n",
    "                .addEdge(\"A\", \"A1\")\n",
    "                .addEdge(\"A\", \"A2\")\n",
    "                .addEdge(\"A\", \"A3\")\n",
    "                .addEdge(\"A1\", \"B\")\n",
    "                .addEdge(\"A2\", \"B\")\n",
    "                .addEdge(\"A3\", \"B\")\n",
    "                .addEdge(\"B\", \"C\")\n",
    "                .addEdge(START, \"A\")\n",
    "                .addEdge(\"C\", END)                   \n",
    "                .compile();\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Print graph representation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "cdadd1e3-ee12-4b14-a7a5-be545a330dc4"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import org.bsc.langgraph4j.GraphRepresentation;\n",
    "\n",
    "var representation = workflow.getGraph( GraphRepresentation.Type.PLANTUML, \"parallel branch\",false );\n",
    "\n",
    "display( plantUML2PNG( representation.getContent() ) )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "START \n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "NodeOutput{node=__START__, state={messages=[]}}\n",
      "NodeOutput{node=A, state={messages=[A]}}\n",
      "NodeOutput{node=__PARALLEL__(A), state={messages=[A, A1, A2, A3]}}\n",
      "NodeOutput{node=B, state={messages=[A, A1, A2, A3, B]}}\n",
      "NodeOutput{node=C, state={messages=[A, A1, A2, A3, B, C]}}\n",
      "NodeOutput{node=__END__, state={messages=[A, A1, A2, A3, B, C]}}\n"
     ]
    }
   ],
   "source": [
    "for( var step : workflow.stream( Map.of() ) ) {\n",
    "    System.out.println( step );\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "import org.bsc.langgraph4j.prebuilt.MessagesStateGraph;\n",
    "import org.bsc.langgraph4j.prebuilt.MessagesState;\n",
    "import org.bsc.langgraph4j.action.AsyncNodeAction;\n",
    "import org.bsc.langgraph4j.utils.EdgeMappings;\n",
    "\n",
    "import static org.bsc.langgraph4j.action.AsyncNodeAction.node_async;\n",
    "import static org.bsc.langgraph4j.action.AsyncEdgeAction.edge_async;\n",
    "import static org.bsc.langgraph4j.StateGraph.END;\n",
    "import static org.bsc.langgraph4j.StateGraph.START;\n",
    "\n",
    "\n",
    "AsyncNodeAction<MessagesState<String>> makeNode( String message ) {\n",
    "    return node_async(state -> Map.of( \"messages\", message ) );\n",
    "}\n",
    "\n",
    "var workflow = new MessagesStateGraph<String>()\n",
    "                .addNode(\"A\", makeNode(\"A\"))\n",
    "                .addNode(\"A1\", makeNode(\"A1\"))\n",
    "                .addNode(\"A2\", makeNode(\"A2\"))\n",
    "                .addNode(\"A3\", makeNode(\"A3\"))\n",
    "                .addNode(\"B\", makeNode(\"B\"))\n",
    "                .addNode(\"C\", makeNode(\"C\"))\n",
    "                .addEdge(\"A\", \"A1\")\n",
    "                .addEdge(\"A\", \"A2\")\n",
    "                .addEdge(\"A\", \"A3\")\n",
    "                .addEdge(\"A1\", \"B\")\n",
    "                .addEdge(\"A2\", \"B\")\n",
    "                .addEdge(\"A3\", \"B\")\n",
    "                // .addEdge(\"B\", \"C\")\n",
    "                .addConditionalEdges( \"B\", \n",
    "                    edge_async( state -> \n",
    "                        state.lastMinus(1) \n",
    "                            .filter( m -> Objects.equals(m,\"A3\"))\n",
    "                            .map( m -> \"continue\" )\n",
    "                            .orElse(\"back\") ), \n",
    "                    EdgeMappings.builder()\n",
    "                        .to( \"A1\", \"back\" )\n",
    "                        .to( \"C\" , \"continue\")\n",
    "                        .build()\n",
    "                 )\n",
    "                .addEdge(START, \"A\")\n",
    "                .addEdge(\"C\", END)                   \n",
    "                .compile();\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "9c4545b2-c565-440f-81be-261dd0b93bda"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import org.bsc.langgraph4j.GraphRepresentation;\n",
    "\n",
    "var representation = workflow.getGraph( GraphRepresentation.Type.PLANTUML, \"parallel branch\",false );\n",
    "\n",
    "display( plantUML2PNG( representation.getContent() ) )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "START \n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "NodeOutput{node=__START__, state={messages=[]}}\n",
      "NodeOutput{node=A, state={messages=[A]}}\n",
      "NodeOutput{node=__PARALLEL__(A), state={messages=[A, A1, A2, A3]}}\n",
      "NodeOutput{node=B, state={messages=[A, A1, A2, A3, B]}}\n",
      "NodeOutput{node=C, state={messages=[A, A1, A2, A3, B, C]}}\n",
      "NodeOutput{node=__END__, state={messages=[A, A1, A2, A3, B, C]}}\n"
     ]
    }
   ],
   "source": [
    "for( var step : workflow.stream( Map.of() ) ) {\n",
    "    System.out.println( step );\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Use compiled sub graph as parallel node\n",
    "\n",
    "This example answer to issue **Will plan support multiple target on parallel node?** [#104](https://github.com/bsorrentino/langgraph4j/issues/104) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "import org.bsc.langgraph4j.prebuilt.MessagesStateGraph;\n",
    "import org.bsc.langgraph4j.prebuilt.MessagesState;\n",
    "import org.bsc.langgraph4j.action.AsyncNodeAction;\n",
    "import static org.bsc.langgraph4j.action.AsyncNodeAction.node_async;\n",
    "import static org.bsc.langgraph4j.action.AsyncEdgeAction.edge_async;\n",
    "import static org.bsc.langgraph4j.StateGraph.END;\n",
    "import static org.bsc.langgraph4j.StateGraph.START;\n",
    "\n",
    "AsyncNodeAction<MessagesState<String>> makeNode( String message ) {\n",
    "    return node_async(state -> Map.of( \"messages\", message ) );\n",
    "}\n",
    "\n",
    "var subgraphA3 = new MessagesStateGraph<String>()\n",
    "                .addNode(\"A3.1\", makeNode(\"A3.1\"))\n",
    "                .addNode(\"A3.2\", makeNode(\"A3.2\"))\n",
    "                .addEdge(START, \"A3.1\")\n",
    "                .addEdge( \"A3.1\", \"A3.2\")\n",
    "                .addEdge(\"A3.2\", END)   \n",
    "                .compile(); \n",
    "var subgraphA1 = new MessagesStateGraph<String>()\n",
    "                .addNode(\"A1.1\", makeNode(\"A1.1\"))\n",
    "                .addNode(\"A1.2\", makeNode(\"A1.2\"))\n",
    "                .addEdge(START, \"A1.1\")\n",
    "                .addEdge( \"A1.1\", \"A1.2\")\n",
    "                .addEdge(\"A1.2\", END)   \n",
    "                .compile(); \n",
    "\n",
    "var workflow = new MessagesStateGraph<String>()\n",
    "                .addNode(\"A\", makeNode(\"A\"))\n",
    "                .addNode(\"A1\", subgraphA1)\n",
    "                .addNode(\"A2\", makeNode(\"A2\"))\n",
    "                .addNode(\"A3\", subgraphA3)\n",
    "                .addNode(\"B\", makeNode(\"B\"))\n",
    "                .addEdge(\"A\", \"A1\")\n",
    "                .addEdge(\"A\", \"A2\")\n",
    "                .addEdge(\"A\", \"A3\")\n",
    "                .addEdge(\"A1\", \"B\")\n",
    "                .addEdge(\"A2\", \"B\")\n",
    "                .addEdge(\"A3\", \"B\")\n",
    "                .addEdge(START, \"A\")\n",
    "                .addEdge(\"B\", END)                   \n",
    "                .compile();\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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CyIyce0UHR19MTnSateubW1t0aJFgQIFHnjgAeulF8x7u3btrE249MqTJ09cXFyNGjU6duxoNdpfeqlcubJ1kab8+OOPxYsXx3MwXKF16NDhjq/QDB069NKlS6Iu2UnHLDAQV68iO+n8lQVRUVFevkOrbdu2b7zxxty5c3GVderUqcaNG3fr1s3ahAi0ctF66aVevXrVqlVLSEhAKIaFhSGV0dioUaPq1atv27YNT6jy58+vXnpp2rRpyZIl0RP3K67EMJVlypRZtGjR888/36tXr9snTw/GP3v2bFGX7KRjFhiIq1eRnXT+yoIBAwbIfmk4evTo999/fzH5NQ98xRTY3+9dq1Yt9dILJhdrNFeyNm3aHDt2DI1TpkzBxRiumnAxhilWL71gfsuXL497AlOMebTuA8ysN68GKQMHDhR1yR46ZoGBuHoV2UPnlyw4ffr0hAkTZD9fwHTExsaK11GPHz+e1p+O4olTZt43iirEO71lDx2zwEBcvYrsofNLFnzzzTfWSyluhypWrlxpL0320DELDMTVq8geOr9kwZgxY/DcSfZzIVQxduxYe2myh45ZYCCuXkX20PklC4YNGyY7udaIESPspcnNOmaBgbh6FblZ55csSL9/5uEZ3R1/93vR627pGz58uL00uVnHLDBQ+qtR9r5T/8xITEzcvHnzpk2b0v98dEvQV68RWbBjx46QkJCwsDC5IfntFs8888w999xjvfsiLV5280ZmZtO9mAUZltbqHTRoENqt3zIWKVJk3rx5ooNiyOo1Igt69+5tTVnKN1dhElu1aoU5TX+avOzmjczMpnsxCzIsrdUbHR09ceJE/KhfsWIFpjc0NNS+1c6Q1eubLMjMM64LFy6UKlUqb968mM3u3bun3Iqv+fLlS3+avOzmjcw843Kv7JwF/lu9Svv27dEhrVcoDVm9vsmCzLwSGxMTg2maMGHCgw8+WLRo0VTfa+nlNHnZLR2oYty4cfbSZA8ds8BApq1eqFKlSrFixWSrLuir1zdZkJnf0L722muYhRMnTnTs2BHTunjxYtnD62nysls6UMV3331nL0320DELDGTO6t2xY0dERASu//Pnz79w4UL7ppSCvnp9kwUZfufWyZMnMU3WX2WsWrUKs9m6dWvZyetp8rJbOvAE79y5c/bSZA8ds8BA5qzeJk2aWC8lvPjii4cOHbJv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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "2d790d4a-89c1-4abd-a778-39481c5a9447"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import org.bsc.langgraph4j.GraphRepresentation;\n",
    "\n",
    "var representation = workflow.getGraph( GraphRepresentation.Type.PLANTUML, \"parallel branch\",false );\n",
    "\n",
    "display( plantUML2PNG( representation.getContent() ) )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "// workflow.getGraph( GraphRepresentation.Type.MERMAID, \"parallel branch\",false ).content();"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "START \n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "NodeOutput{node=__START__, state={messages=[]}}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "START \n",
      "START \n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "NodeOutput{node=A, state={messages=[A]}}\n",
      "NodeOutput{node=__PARALLEL__(A), state={messages=[A, A1.1, A1.2, A2, A3.1, A3.2]}}\n",
      "NodeOutput{node=B, state={messages=[A, A1.1, A1.2, A2, A3.1, A3.2, B]}}\n",
      "NodeOutput{node=__END__, state={messages=[A, A1.1, A1.2, A2, A3.1, A3.2, B]}}\n"
     ]
    }
   ],
   "source": [
    "for( var step : workflow.stream( Map.of() ) ) {\n",
    "    System.out.println( step );\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "import org.bsc.langgraph4j.prebuilt.MessagesStateGraph;\n",
    "import org.bsc.langgraph4j.prebuilt.MessagesState;\n",
    "import org.bsc.langgraph4j.action.AsyncNodeAction;\n",
    "import static org.bsc.langgraph4j.action.AsyncNodeAction.node_async;\n",
    "import static org.bsc.langgraph4j.action.AsyncEdgeAction.edge_async;\n",
    "import static org.bsc.langgraph4j.StateGraph.END;\n",
    "import static org.bsc.langgraph4j.StateGraph.START;\n",
    "\n",
    "AsyncNodeAction<MessagesState<String>> makeNode( String message ) {\n",
    "    return node_async(state -> Map.of( \"messages\", message ) );\n",
    "}\n",
    "\n",
    "var subgraphA3 = new MessagesStateGraph<String>()\n",
    "                .addNode(\"A3.1\", makeNode(\"A3.1\"))\n",
    "                .addNode(\"A3.2\", makeNode(\"A3.2\"))\n",
    "                .addEdge(START, \"A3.1\")\n",
    "                .addEdge( \"A3.1\", \"A3.2\")\n",
    "                .addEdge(\"A3.2\", END)   \n",
    "                .compile(); \n",
    "\n",
    "var subgraphA2 = new MessagesStateGraph<String>()\n",
    "                .addNode(\"A2.1\", makeNode(\"A2.1\"))\n",
    "                .addNode(\"A2.2\", makeNode(\"A2.2\"))\n",
    "                .addEdge(START, \"A2.1\")\n",
    "                .addEdge( \"A2.1\", \"A2.2\")\n",
    "                .addEdge(\"A2.2\", END)   \n",
    "                .compile(); \n",
    "\n",
    "var subgraphA1 = new MessagesStateGraph<String>()\n",
    "                .addNode(\"A1.1\", makeNode(\"A1.1\"))\n",
    "                .addNode(\"A1.2\", makeNode(\"A1.2\"))\n",
    "                .addEdge(START, \"A1.1\")\n",
    "                .addEdge( \"A1.1\", \"A1.2\")\n",
    "                .addEdge(\"A1.2\", END)   \n",
    "                .compile(); \n",
    "\n",
    "var workflow = new MessagesStateGraph<String>()\n",
    "                .addNode(\"A\", makeNode(\"A\"))\n",
    "                .addNode(\"A1\", subgraphA1)\n",
    "                .addNode(\"A2\", subgraphA2)\n",
    "                .addNode(\"A3\", subgraphA3)\n",
    "                .addNode(\"B\", makeNode(\"B\"))\n",
    "                .addEdge(\"A\", \"A1\")\n",
    "                .addEdge(\"A\", \"A2\")\n",
    "                .addEdge(\"A\", \"A3\")\n",
    "                .addEdge(\"A1\", \"B\")\n",
    "                .addEdge(\"A2\", \"B\")\n",
    "                .addEdge(\"A3\", \"B\")\n",
    "                .addEdge(START, \"A\")\n",
    "                .addEdge(\"B\", END)                   \n",
    "                .compile();\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAPNCAIAAADnUF0dAAB9SElEQVR4XuzdeXwUVdo+/AgMyqIoD2BYFZcR2R3EQR8QWQQHxQXnYREcGUVFhhEZlFVZBNkc9sUAEhZZlFFBIKKiLArIpoCihAQE2SGERUAEhLz3m/pRU/eVdKer06dT3X19/+DTOXWqq+5zn1x0h5DEZRARhUscDhARGcPEIaLwYeIQUfgwcYgofJg4RBQ+TBwiCh8mDhGFDxOHiMKHiUNE4cPEIaLwYeIQUfgwcYgofJg4MaFOnTpFihSZM2dOth9my88cP4dMy8NLU0gwcWJC9erV4+LiZsyYke2H2fIzx88h0/Lw0hQSTJyYwMQhj2DieMLjjz9etWpVebPQpk2b4sWL33rrre+884516I033mjcuHGJEiWKFi3aokWLHTt2OE+ZPXt2q1atihUrtnPnTj+T/STOqVOnOnXqdMMNN1xzzTX33Xfftm3bss4B1qEJEyZkvduM7G7M111ZM99///2OHTtef/319erVW758uXXo7Nmzffv2rVKlSqFChcqXL9++fXtr3Lr0lClTsp5CEYGJ4wnWJ9LVV18tn5NXXnmlPL7iiisOHTokh+TzuU6dOt27d7/jjjtk/JFHHnGeIvPlz6uuusr6NPY/OdvEadiwoTyWkYceekgeVKxY8eLFi1lPcfJzt/ZR5435vyvJrD/84Q9FihSRx7Vr17YOWTcj7r///qZNm8pN5ngKRQQmjidYn0j33HPPL7/88vPPP1933XXy4cyZM+XQmTNnrDnr1q2TQXnV4DzlpptuSk5OtjIix8lZE2flypXyIH/+/GlpaTJerlw5+VAGs57i5Odu7aPOG/N/VzfeeOPevXu/+uqruEzHjh1bvXq19dj50sn/KTCNPIuJ4wnw6d2kSRP5sF27dvI4NTX1xRdflPc78kohLvNVg/OUxMRE+0lynJw1ccaNGycPChQo0CCTvGyxp+WYONnerX3UeWP+72rq1Kny+ODBg3GZ5LWSdVcyzY4qm69TYBp5FhPHE+BzuFmzZvJhy5Yt5ZPq+uuvl8fy6dq+ffusn67ORAh8sv3hmDFj4jLfE3V0WLZsWdZTnHzdbbZHA7wrSY24TPJg1KhRcZnvy86dO2fNtPk6BaaRZzFxPMH5V/elS5eKFy8uH/bu3Xvw4MFxme9fZHz79u3y+Morr3Se4kyEwCfbH37++efWJ23Wr79mfX44BHfbp08f51H7xADvyhkfn3zyifX4448/tmbafJ0C08izmDieYH0ilShRYvjw4fXq1YvLfKezc+fODz74QB5fd911r7zySvny5a1PMOv737ImQuCT7Q8vXrxYp04d69LPPfdc//79H3744WnTpmU9xcnX3TqP2icGeFfO+Pj9999r1qwpjwsXLvyPf/xj4MCBcm9Zn5yJE4mYOJ5gfSI1aNBAPsfiMr+2+t5778n4+fPn//KXv+TLly9//vwvvfSSvFKQo5UrV5ZDNWrUiHN8vdbVZOeH8q5H3hBJZFifvWXKlJk1a1bWU5ysQ88++6y8P3LerfOofWKAdwXx8fPPP1tnxWW+6bvzzjuzPjkTJxIxcTzB/qv73Llz8mLB/rcny+HDh0+fPm093rVrl/04W64m2yQXduzY8csvv+ABv7K922wFd1dnz55NTU3N+vVjilxMHE/w8xaGKJowcTzhxRdffOihh6x/JCKKYkwcIgofJg4RhQ8Th4jCh4lDROHDxCGi8GHiEFH4MHGIKHyYOEQUPkwcIgofJg4RhQ8Th4jCh4lDROHDxCGi8GHiEFH4MHGIKHyYOEQUPkwcIgofJg4RhQ8Th4jCh4lDROHDxCFlw4YNa9euxVGiEGHikFKxYsXHH38cR0Pk/PnzOEQxholDirzA2bVrF47m2tmzZwsXLtyrVy88QDGGiUP/tWXLlhdeeMFKHOtxamrqxIkTW7RoMWDAgGPHjtnjW7duHTZsWPPmzTt27Hjw4EHr9NWrV8uhtLQ068MpU6b07dtXHuzbt69NmzZxcXH33nuv/fwUm5g4MUpedLRs2XLFihUpKSn33XffqVOnZHDo0KGSC0ePHrUf16hR45ZbbmnQoIE8njBhgj1+66233nXXXdavEpXTrefs1q3blVdeab91qlq16gMPPCAPJJ5q164tM59++mlJnA0bNjRu3PjMmTMzZ87s2rWrNZliBBMnFp08ebJ+/foPP/zw119/ff31148fP94a/7//+78bb7zRfiwZ0adPH3n866+/yuMePXpY41dfffX8+fPl8cWLF+vUqZM/f37rV49L9EiyWKdLoMi4dbp45plnihcvbj3+7bffJLD+8Y9/fPvttzJnyZIl1jjFAiZOzDl06NAdd9whcfPpp58WK1bM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1KhRCxcu3Lx586FDh/DaDnJU5ixatEjmWydOnz5dngefOnfwqloU7292xD92xIZX1byVOFu2bBk+fPigQYNmzJiRkpKCV3JJnkGeR27+zTff/O677/BiQcFraNG3v9mRALEjNryG5onEOXPmzNSpU/v37z9v3rwjR47gBXJNnlOeecCAAYmJiXItvLwb+NRa1OxvdsQtdsSGT63lceIcP358xIgRQ4YM+fHHH/F5DZCryNvakSNHynXxVgKDz6hFwf5mR4LDjtjwGbU8S5zz58+/9dZbso579uzBZzRMrijXTUhIkHvA28oJPpcW0fubHckNdsSGz6XlTeKsX7++Z8+e33//PT5XGMnVe/XqtWHDBrw5v/BZtMjd3+xILrEjNnwWLdyJc+HCBbnktGnT8FnyyPTp0+UFpNwV3qgPeL4WifubHQkJdsSG52thTZyjR492795969at+BR5Su6nR48e6enpeLvZwZO1iNvf7EiosCM2PFkLX+KkpqbKq8SDBw/i+R4gdyWvHnfs2IE3nQWeqUXW/mZHQogdseGZWpgSZ/v27X369Dl27BieHGrHjx8fN25cEF/Vl3t79dVXc/xh93iaFkH7mx0JLXbEhqdp4Uic3bt39+7dO/ClXLJkSbVq1RYvXmyPPPPMM2PHjnVM8WnDhg1xcXHr1q3DAwGQO5SW79mzBwtwwHO0SNnf7EjIsSM2PEcznjinT59++eWX5d0pnuZb3759ZUUaNmxoj1x//fWzZ892TPFp8uTJhQsXlhTHA4GR+3zllVf8fAcUnqBFxP5mR0xgR2x4gmY8cV577bWffvoJz/GrefPm11xzjSzomjVr5MNt27bJY/tFoCzr888/36lTp88++8waOXHihCxi+/bt5T6fe+65OnXq2ONvv/22jMtLwcC/TVPutl+/fljGZThbi4j9zY6YwI7YcLZmNnEWLFiQlJSEJ2QxYsSI119/fdWqVQ8++KB8WL58+VGjRhUpUuSJJ56QD+fOnVuiRAlr5rPPPluyZMkuXbrUr1+/QIECGzdulMGnnnpKAr5r165VqlSRde/YsaM1WcarVq3as2fPUqVKDR06NDExsUePHtKbRo0apaWl/b9rZ0fuedGiRVhMJpyqeX9/syOGsCM2nKoZTBx52SbhjbOz6NWr11133fXee+/JIq5YsULiU1Zk06ZNktAFCxZM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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "45c4b70c-4993-4648-be88-30023fb73186"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import org.bsc.langgraph4j.GraphRepresentation;\n",
    "\n",
    "var representation = workflow.getGraph( GraphRepresentation.Type.PLANTUML, \"parallel branch\",false );\n",
    "\n",
    "display( plantUML2PNG( representation.getContent() ) )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "START \n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "NodeOutput{node=__START__, state={messages=[]}}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "START \n",
      "START \n",
      "START \n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "NodeOutput{node=A, state={messages=[A]}}\n",
      "NodeOutput{node=__PARALLEL__(A), state={messages=[A, A1.1, A1.2, A2.1, A2.2, A3.1, A3.2]}}\n",
      "NodeOutput{node=B, state={messages=[A, A1.1, A1.2, A2.1, A2.2, A3.1, A3.2, B]}}\n",
      "NodeOutput{node=__END__, state={messages=[A, A1.1, A1.2, A2.1, A2.2, A3.1, A3.2, B]}}\n"
     ]
    }
   ],
   "source": [
    "for( var step : workflow.stream( Map.of() ) ) {\n",
    "    System.out.println( step );\n",
    "}"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Java (rjk 2.2.0)",
   "language": "java",
   "name": "rapaio-jupyter-kernel"
  },
  "language_info": {
   "codemirror_mode": "java",
   "file_extension": ".jshell",
   "mimetype": "text/x-java-source",
   "name": "java",
   "nbconvert_exporter": "script",
   "pygments_lexer": "java",
   "version": "22.0.2+9-70"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
